package com.ics.atable.chat.model.dto;

import lombok.Data;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import java.util.List;

/**
 * SQL执行请求DTO
 * 
 * 用于接收前端发送的SQL执行请求参数
 * 
 * @author Chawu
 */
@Data
public class SqlExecuteRequest {
    
    /**
     * 数据源名称
     * 指定要执行SQL的目标数据库
     */
    @NotBlank(message = "数据源名称不能为空")
    private String dataSourceName;
    
    /**
     * 要执行的SQL语句
     * 支持SELECT、INSERT、UPDATE、DELETE四种类型
     */
    @NotBlank(message = "SQL语句不能为空")
    private String sql;
    
    /**
     * SQL参数列表
     * 用于预编译SQL语句的参数绑定
     * 例如：SELECT * FROM user WHERE id = ? 中的参数
     */
    private List<Object> params;
    
    /**
     * 页码（用于分页查询）
     * 从1开始
     */
    private Integer pageNum = 1;
    
    /**
     * 每页大小（用于分页查询）
     * 默认10条
     */
    private Integer pageSize = 10;
}
